home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Programming / HBasicGolded / Files / Scripts / HB_Constants.rexx next >
OS/2 REXX Batch file  |  2000-01-18  |  2KB  |  88 lines

  1. /* Script to save a dictionary of HBasic OS3 file1 */
  2.  
  3.  
  4. /* get the directory path of the images */
  5. PARSE ARG  dirname
  6.  
  7. /* strip extranneous spaces and quotes */
  8. dirname = STRIP(dirname)
  9. dirname = STRIP(dirname,"b",'"')
  10. dirname = STRIP(dirname)
  11.  
  12. IF RIGHT(dirname,1) ~= "/" & RIGHT(dirname,1) ~=":" then ; dirname=dirname||"/"
  13.  
  14. /* create a list of BH files in the temporary file in RAM */
  15. commandline = "list >ram:"||tempname||" "dirname"#?.(bc) files LFORMAT %P%S"
  16. ADDRESS COMMAND commandline
  17. ADDRESS COMMAND 'c:Sort RAM:tempname TO RAM:tamlist.temp'
  18.  
  19. /* Open the file and read in names to filename compound variable */
  20. inname = "ram:tamlist.temp"
  21. q =  OPEN("infile", inname, "R")
  22. filecount = 1
  23.  
  24. do UNTIL EOF("infile")
  25.    filename.filecount = READLN("infile")
  26.    filecount = filecount+1
  27. end
  28.  
  29. /* Remember to close and delete the temporary file */
  30. CALL CLOSE("infile")
  31.  
  32.  
  33. ADDRESS COMMAND "delete ram:"||tempname
  34.  
  35. SAY filecount "Files have been found"
  36.  
  37.  
  38. /* CREATE OUTPUT FILES */
  39. CALL OPEN(file1, "Ram:Constants", "W")
  40.  
  41.     DO loop = 1 to filecount-2  /* MAIN LOOP */
  42.  
  43.         File=filename.loop
  44.         CALL WRITELN(FILE1, "/*" File "*/")
  45.  
  46.         LineLength=0
  47.  
  48.         CALL OPEN("Data_File", File, "R")
  49.             DO UNTIL EOF("Data_File")
  50.                Textline = READLN("Data_File")
  51.                TYPE = CHECKTYPE(Textline)
  52.                IF TYPE="CONST" THEN ; LineLength=FileWrite(LineLength,FILE1)
  53.             END
  54.         CALL WRITELN(FILE1, "");CALL WRITELN(FILE1, "")
  55.         CALL CLOSE("Data_File")
  56.  
  57.  
  58.     END  /* END of Main Loop */
  59.  
  60. /* Close Output Files */
  61. CALL CLOSE(file1)
  62.  
  63. EXIT
  64.  
  65. CHECKTYPE: EXPOSE Header
  66. TYPE = WORD(Textline,1)
  67. Header = WORD(Textline,2)
  68. P = POS("=",Header)
  69. IF P ~=0  THEN; Header= LEFT(Header,P-1)
  70. RETURN TYPE
  71.  
  72. FILEWRITE: PROCEDURE Expose Header
  73. LineLength = Arg(1)
  74. FILE = Arg(2)
  75.                  LineLength = LineLength + LENGTH(Header)
  76.                  IF LineLength > 120 THEN
  77.                  DO
  78.                     CALL WRITELN(FILE,"")
  79.                     LineLength = LENGTH(Header)
  80.                  END
  81.                  CALL WRITECH(FILE,Header||" ")
  82. RETURN LineLength
  83.  
  84.  
  85.  
  86.  
  87.  
  88.